import { Opt } from '__com/Opt.js'
import dateOpt from '@/option/date.js'

export class columnOpt extends Opt {
  constructor(fun) {
    super(fun)
  }

  create() {
    return [
      {
        field: 'roleName',
        title: '角色名称',
        minWidth: 150,
        header: {
          filter: {
            title: '角色名称',
            key: 'roleName',
            placeholder: '请输入角色名称',
            input: {}
          }
        }
      },
      {
        field: 'terminalTypeName',
        title: '端口权限',
        minWidth: 200,
        header: {
          filter: {
            title: '端口权限',
            key: 'terminalType',
            placeholder: '请选择端口权限',
            select: {
              options: [
                // {
                //   value: '小程序',
                //   key: 'minApp'
                // },
                {
                  value: 'Web端',
                  key: '1'
                },
                {
                  value: 'APP端',
                  key: '2'
                }
              ]
            }
          }
        }
      },
      {
        field: 'roleTypeName',
        title: '角色类型',
        minWidth: 150,
        header: {
          filter: {
            title: '角色类型',
            key: 'roleType',
            placeholder: '请选择角色类型',
            select: {
              options: [
                {
                  value: '超管',
                  key: 1
                },
                {
                  value: '管理',
                  key: 2
                },
                {
                  value: '项目',
                  key: 3
                },
                {
                  value: '个人',
                  key: 4
                }
              ]
            }
          }
        }
      },
      {
        title: '操作时间',
        field: 'updateTime',
        minWidth: 180,
        header: {
          filter: dateOpt.range({
            title: '操作日期',
            startKey: 'beginDate',
            endKey: 'endDate',
            disabled: (date) => {
              return date.valueOf() > new Date().getTime()
            },
            check: (val) => {
              return dt.tool.checkDate(val.beginDate, val.endDate, '操作日期跨度至多两年。')
            }
          })
        }
      },
      {
        title: '操作人',
        field: 'updater',
        minWidth: 180,
        header: {
          filter: {
            title: '操作人',
            key: 'updater',
            placeholder: '请选择操作人',
            input: {}
          }
        }
      },
      {
        title: '备注',
        field: 'roleDesc',
        minWidth: 200,
        cell: {
          text: {
            lineClamp: 2,
            webkitBoxOrient: 'vertical',
            display: '-webkit-box',
            whiteSpace: 'inherit'
          }
        }
      },
      {
        title: '操作',
        field: 'operate',
        fixed: 'right',
        minWidth: 160,
        cell: (info) => {
          return {
            btn: [
              {
                title: '编辑',
                color: '#3366FF',
                // code: '0501020000',
                click: (row) => {
                  this.editFun(row)
                }
              },
              {
                title: '查看',
                // code: '0501030000',
                click: (row) => {
                  this.checkFun(row)
                }
              }
            ]
          }
        }
      }
    ]
  }
}
